home *** CD-ROM | disk | FTP | other *** search
- If you read this file _as_is_, just ignore the funny characters you
- see. It is written in the POD format (see pod/perlpod.pod) which is
- specially designed to be readable as is.
-
- =head1 NAME
-
- README.vos - Perl for Stratus VOS
-
- =head1 SYNOPSIS
-
- This is a port of Perl version 5 to VOS. Perl is a scripting or
- macro language that is popular on many systems. See your local
- computer bookstore for a number of good books on Perl.
-
- =head2 Stratus POSIX Support
-
- Note that there are two different implementations of POSIX.1
- support on VOS. There is an alpha version of POSIX that is
- available from the Stratus anonymous ftp site
- (ftp://ftp.stratus.com/pub/vos/posix/alpha/alpha.html). There
- is a generally-available version of POSIX that comes with the
- VOS Standard C compiler and C runtime in VOS Release 14.3.0 or
- higher. This port of POSIX will compile and bind with either
- version of POSIX.
-
- Most of the Perl features should work on VOS regardless of which
- version of POSIX that you are using. However, the alpha version
- of POSIX is missing a number of key functions, and therefore any
- attempt by perl.pm to call the following unimplemented POSIX
- functions will result in an error message and an immediate and
- fatal call to the VOS debugger. They are "dup", "fork", and
- "waitpid". The lack of these functions pretty much prevents you
- from starting VOS commands and grabbing their output in perl.
- The workaround is to run the commands outside of perl, then have
- perl process the output file. These functions are all available
- in the generally-available version of POSIX.
-
- =head1 INSTALLING PERL IN VOS
-
- =head2 Compiling Perl 5 on VOS
-
- Before you can build Perl 5 on VOS, you need to have or acquire the
- following additional items.
-
- =over 5
-
- =item 1
-
- The VOS Standard C Compiler and Runtime, or the VOS Standard C
- Cross-Compiler. This is a standard Stratus product.
-
- =item 2
-
- Either the VOS OS TCP/IP or STCP product set. If you are
- building with the alpha version of POSIX you need the OS
- TCP/IP product set. If you are building with the
- generally-available version of POSIX you need the STCP
- product set. These are standard Stratus products.
-
- =item 3
-
- Either the alpha or generally-available version of the VOS
- POSIX.1 environment.
-
- The alpha version of POSIX.1 support is available on the
- Stratus FTP site. Login anonymously to ftp.stratus.com and
- get the file /pub/vos/posix/alpha/posix.save.evf.gz in
- binary file-transfer mode. Or use the Uniform Resource
- Locator (URL)
- ftp://ftp.stratus.com/pub/vos/alpha/posix.save.evf.gz from
- your web browser. Instructions for unbundling this file
- are at ftp://ftp.stratus.com/pub/vos/utility/utility.html.
- This is not a standard Stratus product.
-
- The generally-available version of POSIX.1 support is
- bundled with the VOS Standard C compiler and Runtime (or
- Cross-Compiler) in VOS Release 14.3.0 or higher. This is a
- standard Stratus product.
-
- =item 4
-
- You must compile this version of Perl 5 on VOS Release
- 14.1.0 or higher because some of the perl source files
- contain more than 32,767 source lines. Due to VOS
- release-compatibility rules, this port of perl may not
- execute on VOS Release 12 or earlier.
-
- =back
-
- To build perl 5, change to the "vos" subdirectory and type the
- command "compile_perl -processor X", where X is the processor
- type (mc68020, i80860, pa7100, pa8000) that you wish to use.
- Note that the generally-available version of POSIX.1 support is
- not available for the mc68020 or i80860 processors.
-
- You must have purchased the VOS Standard C Cross Compiler in
- order to compile perl for a processor type that is different
- from the processor type of the module.
-
- Note that code compiled for the pa7100 processor type can
- execute on the PA7100, PA8000, PA8500 and PA8600 processors, and
- that code compiled for the pa8000 processor type can execute on
- the PA8000, PA8500 and PA8600 processors.
-
- =head2 Installing Perl 5 on VOS
-
- =over 4
-
- =item 1
-
- Create the directory >system>ported>command_library.
-
- =item 2
-
- Copy the appropriate version of the perl program module to
- this directory. For example, with your current directory
- set to the top-level directory of Perl 5, to install the
- executable program module for the Motorola 68K
- architecture, enter:
-
- !copy_file vos>obj>perl.pm >system>ported>command_library>*
-
- (If you wish to use both Perl version 4 and Perl version 5,
- you must give them different names; for example, perl.pm
- and perl5.pm).
-
- =item 3
-
- Create the directory >system>ported>perl>lib.
-
- =item 4
-
- Copy all of the files and subdirectories from the lib
- subdirectory into this new directory. For example, with
- the current directory set to the top-level directory of the
- perl distribution, enter:
-
- !copy_dir lib >system>ported>perl>lib>5.6
-
- =item 5
-
- While there are currently no architecture-specific
- extensions or modules distributed with perl, the following
- directories can be used to hold such files:
-
- >system>ported>perl>lib>5.6.68k
- >system>ported>perl>lib>5.6.860
- >system>ported>perl>lib>5.6.7100
- >system>ported>perl>lib>5.6.8000
-
- =item 6
-
- Site-specific perl extensions and modules can be installed in one of
- two places. Put architecture-independent files into:
-
- >system>ported>perl>lib>site>5.6
-
- Put architecture-dependent files into one of the following
- directories:
-
- >system>ported>perl>lib>site>5.6.68k
- >system>ported>perl>lib>site>5.6.860
- >system>ported>perl>lib>site>5.6.7100
- >system>ported>perl>lib>site>5.6.8000
-
- =item 7
-
- You can examine the @INC variable from within a perl program
- to see the order in which Perl searches these directories.
-
- =back
-
- =head1 USING PERL IN VOS
-
- =head2 Unimplemented Features
-
- If perl is built with the alpha version of VOS POSIX.1 support
- and if it attempts to call an unimplemented VOS POSIX.1
- function, it will print a fatal error message and enter the VOS
- debugger. This error is not recoverable. See vos_dummies.c for
- a list of the unimplemented POSIX.1 functions. To see what
- functions are unimplemented and what the error message looks
- like, compile and execute "test_vos_dummies.c".
-
- =head2 Restrictions
-
- This port of Perl version 5 to VOS prefers Unix-style,
- slash-separated pathnames over VOS-style greater-than-separated
- pathnames. VOS-style pathnames should work in most contexts, but
- if you have trouble, replace all greater-than characters by slash
- characters. Because the slash character is used as a pathname
- delimiter, Perl cannot process VOS pathnames containing a slash
- character in a directory or file name; these must be renamed.
-
- This port of Perl also uses Unix-epoch date values internally.
- As long as you are dealing with ASCII character string
- representations of dates, this should not be an issue. The
- supported epoch is January 1, 1980 to January 17, 2038.
-
- See the file pod/perlport.pod for more information about the VOS
- port of Perl.
-
- =head1 SUPPORT STATUS
-
- I'm offering this port "as is". You can ask me questions, but I
- can't guarantee I'll be able to answer them. There are some
- excellent books available on the Perl language; consult a book
- seller.
-
- =head1 AUTHOR
-
- Paul Green (Paul_Green@stratus.com)
-
- =head1 LAST UPDATE
-
- February 13, 2001
-
- =cut
-